package dbs

import (
	"fur/src/models/UserModel"
	"gorm.io/driver/sqlserver"
	"gorm.io/gorm"
	"log"
	"time"
)

var Orm *gorm.DB

// 初始化数据库
func InitDB() {
	Orm = gormDB()
}

// 初始化表：自动创建表
func InitTable() {
	err := Orm.AutoMigrate(UserModel.New())
	if err != nil {
		log.Fatal(err)
	}
}

func gormDB() *gorm.DB {
	dsn := "sqlserver://ph_user:ph1qaz%40wsX@123.57.189.174:1433?database=bracelet_gz&encrypt=disable"
	db, err := gorm.Open(sqlserver.Open(dsn), &gorm.Config{})
	if err != nil {
		log.Fatal(err)
	}
	mssqlDB, err := db.DB()
	if err != nil {
		log.Fatal(err)
	}
	mssqlDB.Ping()
	mssqlDB.SetMaxIdleConns(10)
	mssqlDB.SetMaxOpenConns(20)
	mssqlDB.SetConnMaxLifetime(time.Minute)
	return db
}
